package main

import "fmt"

func main() {
	var age int = 18
	fmt.Println(&age)

	//定义一个指针变量：
	//ptr *int 是一个指针类型
	//ptr存的是age的物理地址
	var ptr *int = &age
	fmt.Println(ptr)
	fmt.Println(*ptr)
	Test02()
	fmt.Println("888888888888888888888")
	NewStruct()
}
func Test02() {
	var num int = 10
	fmt.Println(num)
	var ptr *int = &num
	*ptr = 20
	fmt.Println(num)
}

type Hu struct {

}

func New()*Hu  {
	return &Hu{

	}
}
func NewStruct()  {

	hu := New()
	hu2 := New()
	//空结构体返回的地址值是一样的
	fmt.Printf("%p,%v\n",hu,hu)
	fmt.Printf("%p,%v",hu2,hu2)
}
